﻿@using MvcFront.DB
@using Telerik.Web.Mvc.UI
@using MvcFront.Models

@model UserAccount

@{
    ViewBag.Title = "TagsUserManagement";
}
    @Html.ValidationSummary(true)
<h2>Управление метками пользователя</h2>

<fieldset>    
    <div class="display-label">Логин:</div>
    <div class="display-field">
        @Html.DisplayFor(model => model.Login)
    </div>

    <div class="display-field"><strong>@Html.ActionLink("Редактирование меток", "Index", "userTagsList")</strong></div>

    <div class="display-label">Метки пользователя</div>

    <a href="#" onclick="ShowAddTagWindow()">Добавить метку</a>
    @(Html.Telerik().Grid<UserTagsListViewModel>()
           .DataBinding(dataBinding => dataBinding.Ajax().Select("_UserTagList", "UserAccountList", new { userId = Model.userid }))
           .Name("UserTagsListGrid")
           .ClientEvents(events => events.OnComplete("onComplete"))
           .Columns(columns =>
                        {
                            columns.AutoGenerate(column =>
                                                     {
                                                         column.Width = "150px";
                                                         if (column.Member == "Status" || column.Member == "UserTagNameId")
                                                             column.Visible = false;
                                                     });
                            columns.Command(command => command.Custom("DeleteTag")
                                                           .Text("Удалить метку")
                                                           .DataRouteValues(route => route.Add(o => o.UserTagNameId).RouteKey("tagId"))
                                                           .Ajax(true)
                                                           .Action("RemoveUserTag", "UserAccountList")
                                                           .HtmlAttributes(new { style = "text-align: center" })).Width(40);
                        })
          ) 
    @(Html.Telerik().Window()
           .Name("AddUserTagWindow")
           .Visible(false)
           .Title("Добавить метку")
           .Modal(true)
           .Width(400)
           .Height(100)
           .Content( 
               @<text>                
                    @Html.Editor("addingUserTag", "UserTagFilter")
                    <div style="text-align: center;" >
                        <input type="button" value="Добавить" onclick="SendRequest()"/> 
                    </div>
                </text>)
          )
</fieldset>
<p>
    @Html.ActionLink("Редактировать", "Edit", new { id=Model.userid }) |
    @Html.ActionLink("Отмена", "Index")
</p>
<script type="text/javascript">
    function onComplete(e) {
        if (e.name == "DeleteTag") {
            if (e.response.result) {
                // alert("Метка удалена");
            } else {
                alert("Произошла ошибка при удалении метки!");
            }
            var grid = $('#UserTagsListGrid').data("tGrid");
            if (grid != null) {
                grid.rebind();
            }
        }

    }
    function ShowAddTagWindow() {
        var addWindow = $("#AddUserTagWindow").data("tWindow");
        addWindow.center().open();
    }
    function SendRequest() {
        var tagId = $("#addingUserTag").data('tComboBox').value();
        if(isNaN( parseInt( tagId ) ))
        {alert("Необходимо выбрать метку!"); return;}
        $.ajax({
            type: "POST",
            url: "../AddUserTag",
            data: "userId="+ @Model.userid +"&tagId="+tagId,
        success: function () {
           var grid = $('#UserTagsListGrid').data("tGrid");
        if (grid != null) {
            grid.rebind();
        }
        var addWindow = $("#AddUserTagWindow").data("tWindow");
        addWindow.center().close();
        }
    });
}
</script>
